package com.egao.common.module.company.entity.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.egao.common.module.company.entity.Company;
import com.egao.common.module.system.entity.Dict;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 单位表单VO
 * @author dl
 */
@Data
public class CompanyFormVO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("主键")
    private Integer id;

    @ApiModelProperty("用户ID")
    private Integer userId;

    @ApiModelProperty("单位名称")
    @NotBlank(message = "单位名称不为空")
    private String name;

    @ApiModelProperty("社会统一信用代码 9或18位")
    @NotBlank(message = "社会统一信用代码不为空")
    private String organizationCode;

    @ApiModelProperty("营业执照上传照片")
    @NotBlank(message = "营业执照照片不为空")
    private String businessUrl;

    @ApiModelProperty("法人图片")
    @NotBlank(message = "法人图片不为空")
    private String legalPersons;

    @ApiModelProperty("单位性质")
    @NotBlank(message = "单位性质不为空")
    private String nature;

    @ApiModelProperty("单位行业")
    @NotBlank(message = "单位性质不为空")
    private String industry;

    @ApiModelProperty("单位规模")
    @NotBlank(message = "单位性质不为空")
    private String scale;

    @ApiModelProperty("单位区县级地区")
    private String syszd;

    @ApiModelProperty("单位区县级地区级别")
    @NotBlank(message = "单位区县级地区级别不为空")
    private String companyLevel;

    @ApiModelProperty("所在省份")
    @NotBlank(message = "所在省份不为空")
    private String province;

    @ApiModelProperty("所在城市")
    @NotBlank(message = "所在城市不为空")
    private String city;

    @ApiModelProperty("湖北重点产业")
    private String hbIndustry;

    @ApiModelProperty("是否校友单位  0是 1否")
    private String alumniState;

    @ApiModelProperty("联系人")
    @NotBlank(message = "联系人不为空")
    private String contactName;

    @ApiModelProperty("联系电话")
    @NotBlank(message = "联系电话不为空")
    private String contactMobile;

    @ApiModelProperty("联系人手机号码")
    @NotBlank(message = "联系人手机号码不为空")
    private String mobile;

    @ApiModelProperty("邮政编码")
    private String zipCode;

    @ApiModelProperty("网址")
    private String website;

    @ApiModelProperty("简介")
    private String content;

    @ApiModelProperty("单位详细地址")
    private String address;

    @ApiModelProperty("单位审核状态 0待审核 1通过 2不通过 3锁定")
    private String state;

    @ApiModelProperty("审核说明")
    private String stateContent;

    @ApiModelProperty("是否发送邮件 0 发送 1 不发送")
    private String emailFlag;

    @ApiModelProperty("单篇状态 0 是 1 否")
    private String recruitFlag;

    @ApiModelProperty("添加时间")
    private Date createTime;

    @ApiModelProperty("逻辑删除 0正常 1删除")
    private Integer deleted;

    @ApiModelProperty("用户名")
    private String userName;

    @ApiModelProperty("用户密码")
    private String password;

    @ApiModelProperty("单位性质字典")
    private List<Dict> natureDictList;

    @ApiModelProperty("单位行业字典")
    private List<Dict> industryDictList;

    @ApiModelProperty("单位规模字典")
    private List<Dict> scaleDictList;

    @ApiModelProperty("单位所在地级别字典")
    private List<Dict> levelDictList;

    @ApiModelProperty("单位所在地字典")
    private List<Dict> syszdDictList;

    @ApiModelProperty("单位湖北重点产业")
    private List<Dict> hbIndustryList;

    @ApiModelProperty("审核人ID")
    private Integer checkUserId;

    @ApiModelProperty("营业执照上传照片 预览")
    @TableField(exist = false)
    private String businessUrlPreview;

    @ApiModelProperty("法人图片 预览")
    @TableField(exist = false)
    private String legalPersonsPreview;

    @ApiModelProperty("验证码")
    private String code;

    @ApiModelProperty("验证码Key")
    private String codeKey;
}
